1. Field of the Invention
The present invention relates to computers and computer software. More specifically, the invention is generally related to controlling the relative positioning of multiple windows displayed on an output device.
2. Background of the Related Art
Users of computer systems often operate within windows environments. A window is a defined area containing text, images and other content and displayable on an output device, such as a cathode ray tube (CRT). Windows provide a convenient means for displaying various content simultaneously on the output device. Using multiple open windows, a user can efficiently view and/or operate on the content contained in each window. For example, a first window may provide an interface for a word processing program while a second window contains instructions for operating the processing program. Thus, the user can view the instructions in the second window while simultaneously carrying out the instructions in the first window.
One problem that frequently occurs in a windows environment, is that the windows will interfere with one another. Consider, for example, a user operating a processing program who desires to access a Help menu. If the processing program currently occupies all of (or sometimes less than all of) the viewable screen area, the Help menu window will be opened on top of the processing program window. Accordingly, a portion of the processing program window will no longer the viewable to the user. In some cases, this is an unacceptable result to the user, such as when the user desires to place text or other contents in the portion of the processing program window currently covered by the Help menu window.
One solution to the foregoing predicament, is to allow the user to toggle between each of the windows. For example, when the user desires to resume typing, the processing program window may be brought to the foreground with a mouse click, a sequence of keystrokes (e.g., a hotkey) or other user-initiated events. However, such a solution is unacceptable because of the resulting inefficiency in requiring the user to continuously toggle between the windows. Additionally, the advantages provided by windows is substantially reduced because the user is required to select an active window and sacrifice all other open windows.
Therefore, there is a need for a method, article of manufacture and system adapted to address the problems associated with a windows environment and the simultaneous use of multiple windows.
The present invention generally provides an apparatus, program product, and a method for controlling managing multiple open windows. In one aspect of the invention, a method for controlling the position of an active window within a viewable screen area of an output device is provided. The method comprises determining a likelihood that a user activity site in the active window will move into an obstructed position. If the likelihood exists, a screen arrangement is reformatted so that the user activity site is contained in the viewable screen area.
Another aspect of the invention provides a signal bearing medium containing a program which, when executed by one or more processors, performs a method for controlling the position of an active window within a viewable screen area of an output device. The method comprises determining a likelihood that a user activity site in the active window will move into an obstructed position. If the likelihood exists, a screen arrangement is reformatted so that the user activity site is contained in the viewable screen area.
Another aspect of the invention provides, a computer system comprising a display device, a memory and one or more processors configured to execute one or more programs supporting a windows environment comprising an active window within a viewable screen area of an output device. When executed, the programs perform a method comprising determining a likelihood that a user activity site in the active window will move into an obstructed position. If the likelihood exists, a screen arrangement is reformatted so that the user activity site is contained in the viewable screen area.
Still another aspect of the invention provides a method for controlling the position of an active window within a viewable screen area of an output device. The method comprises determining whether a user activity site contained within the active window is in a view-obstructing area of the output device; and, if so, repositioning the active window so that the user activity site is contained within the viewable screen area.
Yet another aspect of the invention provides a signal bearing medium containing a program which, when executed by one or more processors, performs a method for controlling the position of an active window within a viewable screen area of an output device. The method comprises determining whether a user activity site contained within the active window is in a view-obstructing area of the output device; and, if so, repositioning the active window so that the user activity site is contained within the viewable screen area.
Yet another aspect of the invention provides a computer system comprising a display device, a memory and one or more processors configured to execute one or more programs supporting a windows environment comprising an active window within a viewable screen area of the display device. When executed, the programs perform a method, comprising determining whether a user activity site contained within the active window is in a view-obstructing area of the output device; and, if so, repositioning the active window so that the user activity site is contained within the viewable screen area.